<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>RobotComm: E:/RobotProgram/RobotComm/RobotComm/src/robot_comm_interface.h 文件参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">RobotComm
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.17 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','搜索');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_ea3ce016c58d232f7fa1d1ef45b82b3d.html">RobotComm</a></li><li class="navelem"><a class="el" href="dir_2310dfda14d3ad679a5031c36e4d7867.html">RobotComm</a></li><li class="navelem"><a class="el" href="dir_786ca8624b6fa0351b28de730a9f6683.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">宏定义</a> &#124;
<a href="#func-members">函数</a>  </div>
  <div class="headertitle">
<div class="title">robot_comm_interface.h 文件参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>机器人系统通讯库  
<a href="#details">更多...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="comm__struct__define_8h_source.html">comm_struct_define.h</a>&quot;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
</div>
<p><a href="robot__comm__interface_8h_source.html">浏览源代码.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
宏定义</h2></td></tr>
<tr class="memitem:aa533399e40d530c5e0ea553b0d29f6ef"><td class="memItemLeft" align="right" valign="top"><a id="aa533399e40d530c5e0ea553b0d29f6ef"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>RobotCommApi</b>&#160;&#160;&#160;extern &quot;C&quot; __declspec(dllimport)</td></tr>
<tr class="separator:aa533399e40d530c5e0ea553b0d29f6ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a985e98d40bdbbd979408761282829a83"><td class="memItemLeft" align="right" valign="top"><a id="a985e98d40bdbbd979408761282829a83"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>RobotCommCpp</b>&#160;&#160;&#160;__declspec(dllimport)</td></tr>
<tr class="separator:a985e98d40bdbbd979408761282829a83"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
函数</h2></td></tr>
<tr class="memitem:af9532dbf62e10baf568be15c5a74aa50"><td class="memItemLeft" align="right" valign="top">RobotCommApi void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#af9532dbf62e10baf568be15c5a74aa50">CRobotComm::deleteInstance</a> ()</td></tr>
<tr class="memdesc:af9532dbf62e10baf568be15c5a74aa50"><td class="mdescLeft">&#160;</td><td class="mdescRight">删除整个通讯模块类。系统级函数接口  <a href="robot__comm__interface_8h.html#af9532dbf62e10baf568be15c5a74aa50">更多...</a><br /></td></tr>
<tr class="separator:af9532dbf62e10baf568be15c5a74aa50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac98f7db0ad1637f25d76fc0249fe7fb1"><td class="memItemLeft" align="right" valign="top">RobotCommApi void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#ac98f7db0ad1637f25d76fc0249fe7fb1">CRobotComm::setModbusTcpClientInfo</a> (<a class="el" href="struct_s_modbus_tcp_client_info.html">SModbusTcpClientInfo</a> *info)</td></tr>
<tr class="memdesc:ac98f7db0ad1637f25d76fc0249fe7fb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置ModbusTCP客户端通讯配置参数。系统级函数接口  <a href="robot__comm__interface_8h.html#ac98f7db0ad1637f25d76fc0249fe7fb1">更多...</a><br /></td></tr>
<tr class="separator:ac98f7db0ad1637f25d76fc0249fe7fb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabfdeb16d3f8512f2e25903874fcf9a7"><td class="memItemLeft" align="right" valign="top">RobotCommApi <a class="el" href="struct_s_modbus_tcp_client_info.html">SModbusTcpClientInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#aabfdeb16d3f8512f2e25903874fcf9a7">CRobotComm::getModbusTcpClientInfo</a> ()</td></tr>
<tr class="memdesc:aabfdeb16d3f8512f2e25903874fcf9a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">读取ModbusTCP客户端通讯配置参数。系统级函数接口  <a href="robot__comm__interface_8h.html#aabfdeb16d3f8512f2e25903874fcf9a7">更多...</a><br /></td></tr>
<tr class="separator:aabfdeb16d3f8512f2e25903874fcf9a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae70eeac3a74579832eadea907e1bd847"><td class="memItemLeft" align="right" valign="top">RobotCommApi void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#ae70eeac3a74579832eadea907e1bd847">CRobotComm::loopModbusTcpClient</a> ()</td></tr>
<tr class="memdesc:ae70eeac3a74579832eadea907e1bd847"><td class="mdescLeft">&#160;</td><td class="mdescRight">ModbusTCP客户端通讯任务循环实现接口。系统级函数接口  <a href="robot__comm__interface_8h.html#ae70eeac3a74579832eadea907e1bd847">更多...</a><br /></td></tr>
<tr class="separator:ae70eeac3a74579832eadea907e1bd847"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6da480e2d3e9032b5d39781a75004177"><td class="memItemLeft" align="right" valign="top">RobotCommApi bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a6da480e2d3e9032b5d39781a75004177">CRobotComm::getModbusTcpClientConnectStatus</a> ()</td></tr>
<tr class="memdesc:a6da480e2d3e9032b5d39781a75004177"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取ModbusTCP客户端通讯连接状态。系统级函数接口  <a href="robot__comm__interface_8h.html#a6da480e2d3e9032b5d39781a75004177">更多...</a><br /></td></tr>
<tr class="separator:a6da480e2d3e9032b5d39781a75004177"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae15c861ad828babb27ae9e558046c48b"><td class="memItemLeft" align="right" valign="top">RobotCommApi void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#ae15c861ad828babb27ae9e558046c48b">CRobotComm::setModbusTcpServerInfo</a> (<a class="el" href="struct_s_modbus_tcp_server_info.html">SModbusTcpServerInfo</a> *info)</td></tr>
<tr class="memdesc:ae15c861ad828babb27ae9e558046c48b"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置ModbusTCP服务端通讯配置参数。系统级函数接口  <a href="robot__comm__interface_8h.html#ae15c861ad828babb27ae9e558046c48b">更多...</a><br /></td></tr>
<tr class="separator:ae15c861ad828babb27ae9e558046c48b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fa2a9e34466a7e729613f6107a57b0d"><td class="memItemLeft" align="right" valign="top">RobotCommApi <a class="el" href="struct_s_modbus_tcp_server_info.html">SModbusTcpServerInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a6fa2a9e34466a7e729613f6107a57b0d">CRobotComm::getModbusTcpServerInfo</a> ()</td></tr>
<tr class="memdesc:a6fa2a9e34466a7e729613f6107a57b0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取ModbusTCP服务端通讯配置参数。系统级函数接口  <a href="robot__comm__interface_8h.html#a6fa2a9e34466a7e729613f6107a57b0d">更多...</a><br /></td></tr>
<tr class="separator:a6fa2a9e34466a7e729613f6107a57b0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c106f93b5a5fb5d6bd7e848907fa0e6"><td class="memItemLeft" align="right" valign="top">RobotCommApi void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a5c106f93b5a5fb5d6bd7e848907fa0e6">CRobotComm::loopModbusTcpServer</a> ()</td></tr>
<tr class="memdesc:a5c106f93b5a5fb5d6bd7e848907fa0e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">ModbusTCP服务端通讯任务循环实现接口。系统级函数接口  <a href="robot__comm__interface_8h.html#a5c106f93b5a5fb5d6bd7e848907fa0e6">更多...</a><br /></td></tr>
<tr class="separator:a5c106f93b5a5fb5d6bd7e848907fa0e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade304ab0ca1e2662fff6da59c2e6e1dc"><td class="memItemLeft" align="right" valign="top">RobotCommCpp vector&lt; <a class="el" href="struct_s_tcp_connect_client_info.html">STcpConnectClientInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#ade304ab0ca1e2662fff6da59c2e6e1dc">CRobotComm::getModbusTcpServerConnectList</a> ()</td></tr>
<tr class="memdesc:ade304ab0ca1e2662fff6da59c2e6e1dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取ModbusTCP服务端远端连接列表。系统级函数接口  <a href="robot__comm__interface_8h.html#ade304ab0ca1e2662fff6da59c2e6e1dc">更多...</a><br /></td></tr>
<tr class="separator:ade304ab0ca1e2662fff6da59c2e6e1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a550b012e6c397317769518e231304806"><td class="memItemLeft" align="right" valign="top">RobotCommApi void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a550b012e6c397317769518e231304806">CRobotComm::setModbusTcpServerNormalInfo</a> (<a class="el" href="struct_s_modbus_tcp_server_normal_info.html">SModbusTcpServerNormalInfo</a> *info)</td></tr>
<tr class="memdesc:a550b012e6c397317769518e231304806"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置ModbusTCP通用服务端通讯配置参数。用户级函数接口  <a href="robot__comm__interface_8h.html#a550b012e6c397317769518e231304806">更多...</a><br /></td></tr>
<tr class="separator:a550b012e6c397317769518e231304806"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a691f0c83b0bc321ea61f3940416a1830"><td class="memItemLeft" align="right" valign="top">RobotCommApi <a class="el" href="struct_s_modbus_tcp_server_normal_info.html">SModbusTcpServerNormalInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a691f0c83b0bc321ea61f3940416a1830">CRobotComm::getModbusTcpServerNormalInfo</a> ()</td></tr>
<tr class="memdesc:a691f0c83b0bc321ea61f3940416a1830"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取ModbusTCP通用服务端通讯配置参数。用户级函数接口  <a href="robot__comm__interface_8h.html#a691f0c83b0bc321ea61f3940416a1830">更多...</a><br /></td></tr>
<tr class="separator:a691f0c83b0bc321ea61f3940416a1830"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac1dc2b60190bbe9e13699f731fc137d"><td class="memItemLeft" align="right" valign="top">RobotCommCpp vector&lt; <a class="el" href="struct_s_tcp_connect_client_info.html">STcpConnectClientInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#aac1dc2b60190bbe9e13699f731fc137d">CRobotComm::getModbusTcpServerNormalConnectList</a> ()</td></tr>
<tr class="memdesc:aac1dc2b60190bbe9e13699f731fc137d"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取ModbusTCP通用服务端远端连接列表。用户级函数接口  <a href="robot__comm__interface_8h.html#aac1dc2b60190bbe9e13699f731fc137d">更多...</a><br /></td></tr>
<tr class="separator:aac1dc2b60190bbe9e13699f731fc137d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad02da5c3852943f6aea5820c59224a78"><td class="memItemLeft" align="right" valign="top">RobotCommApi void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#ad02da5c3852943f6aea5820c59224a78">CRobotComm::setUserTcpServerInfo</a> (<a class="el" href="struct_s_user_tcp_server_info.html">SUserTcpServerInfo</a> *info)</td></tr>
<tr class="memdesc:ad02da5c3852943f6aea5820c59224a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置远程TCP服务端通讯配置参数。系统级函数接口  <a href="robot__comm__interface_8h.html#ad02da5c3852943f6aea5820c59224a78">更多...</a><br /></td></tr>
<tr class="separator:ad02da5c3852943f6aea5820c59224a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31418e742f17464db5181de9e7e08f54"><td class="memItemLeft" align="right" valign="top">RobotCommApi <a class="el" href="struct_s_user_tcp_server_info.html">SUserTcpServerInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a31418e742f17464db5181de9e7e08f54">CRobotComm::getUserTcpServerInfo</a> ()</td></tr>
<tr class="memdesc:a31418e742f17464db5181de9e7e08f54"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取远程TCP协议服务端通讯配置参数。系统级函数接口  <a href="robot__comm__interface_8h.html#a31418e742f17464db5181de9e7e08f54">更多...</a><br /></td></tr>
<tr class="separator:a31418e742f17464db5181de9e7e08f54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e247da871f9521c2e12086a324061fe"><td class="memItemLeft" align="right" valign="top">RobotCommApi void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a9e247da871f9521c2e12086a324061fe">CRobotComm::loopUserTcpServer</a> ()</td></tr>
<tr class="memdesc:a9e247da871f9521c2e12086a324061fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">远程TCP协议,机器人服务端通讯循环实现接口。系统级函数接口  <a href="robot__comm__interface_8h.html#a9e247da871f9521c2e12086a324061fe">更多...</a><br /></td></tr>
<tr class="separator:a9e247da871f9521c2e12086a324061fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44df6930b7d216e184f524822defaf40"><td class="memItemLeft" align="right" valign="top">RobotCommCpp vector&lt; <a class="el" href="struct_s_tcp_connect_client_info.html">STcpConnectClientInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a44df6930b7d216e184f524822defaf40">CRobotComm::getUserTcpServerConnectList</a> ()</td></tr>
<tr class="memdesc:a44df6930b7d216e184f524822defaf40"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取远程TCP服务端远端连接列表。系统级函数接口  <a href="robot__comm__interface_8h.html#a44df6930b7d216e184f524822defaf40">更多...</a><br /></td></tr>
<tr class="separator:a44df6930b7d216e184f524822defaf40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42473c1b80e37fe449b5dded683ac151"><td class="memItemLeft" align="right" valign="top">RobotCommApi bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a42473c1b80e37fe449b5dded683ac151">CRobotComm::setRemoteTcpResponseCallback</a> (<a class="el" href="comm__struct__define_8h.html#a916a87c0a09ac663fcc24844391e40ae">RemoteTcpResponseCallback</a> pFunc=NULL)</td></tr>
<tr class="memdesc:a42473c1b80e37fe449b5dded683ac151"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置远程TCP数据应答函数指针。系统级函数接口  <a href="robot__comm__interface_8h.html#a42473c1b80e37fe449b5dded683ac151">更多...</a><br /></td></tr>
<tr class="separator:a42473c1b80e37fe449b5dded683ac151"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ae5c09c34691ccaa6a695f15aaeac6d"><td class="memItemLeft" align="right" valign="top">RobotCommApi <a class="el" href="comm__struct__define_8h.html#a916a87c0a09ac663fcc24844391e40ae">RemoteTcpResponseCallback</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a0ae5c09c34691ccaa6a695f15aaeac6d">CRobotComm::getRemoteTcpResponseCallback</a> ()</td></tr>
<tr class="memdesc:a0ae5c09c34691ccaa6a695f15aaeac6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取远程TCP数据应答函数指针。系统级函数接口  <a href="robot__comm__interface_8h.html#a0ae5c09c34691ccaa6a695f15aaeac6d">更多...</a><br /></td></tr>
<tr class="separator:a0ae5c09c34691ccaa6a695f15aaeac6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93f63e939622d297dcb380600519870e"><td class="memItemLeft" align="right" valign="top">RobotCommApi bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a93f63e939622d297dcb380600519870e">CRobotComm::setGibbonTrig</a> (bool *enb=NULL, <a class="el" href="comm__struct__define_8h.html#a921819d0a0cc8071ee2efca0e982eaa0">GibbonResponseCallback</a> pFunc=NULL)</td></tr>
<tr class="memdesc:a93f63e939622d297dcb380600519870e"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置Gibbon触发使能变量指针和通讯数据生成函数指针。系统级函数接口  <a href="robot__comm__interface_8h.html#a93f63e939622d297dcb380600519870e">更多...</a><br /></td></tr>
<tr class="separator:a93f63e939622d297dcb380600519870e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc331eaf1a4a1986d1ff642a6a86b179"><td class="memItemLeft" align="right" valign="top">RobotCommApi void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#abc331eaf1a4a1986d1ff642a6a86b179">CRobotComm::setModbusTcpClientVisionInfo</a> (<a class="el" href="struct_s_modbus_tcp_client_info.html">SModbusTcpClientInfo</a> *info)</td></tr>
<tr class="memdesc:abc331eaf1a4a1986d1ff642a6a86b179"><td class="mdescLeft">&#160;</td><td class="mdescRight">设设置ModbusTCP视觉客户端通讯配置参数。用户级函数接口  <a href="robot__comm__interface_8h.html#abc331eaf1a4a1986d1ff642a6a86b179">更多...</a><br /></td></tr>
<tr class="separator:abc331eaf1a4a1986d1ff642a6a86b179"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc09e664f99015629d75b11310ed39d4"><td class="memItemLeft" align="right" valign="top">RobotCommApi <a class="el" href="struct_s_modbus_tcp_client_info.html">SModbusTcpClientInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#acc09e664f99015629d75b11310ed39d4">CRobotComm::getModbusTcpClientVisionInfo</a> ()</td></tr>
<tr class="memdesc:acc09e664f99015629d75b11310ed39d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">读取ModbusTCP视觉客户端通讯配置参数。用户级函数接口  <a href="robot__comm__interface_8h.html#acc09e664f99015629d75b11310ed39d4">更多...</a><br /></td></tr>
<tr class="separator:acc09e664f99015629d75b11310ed39d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c49df63f38df75b180e61ec945482cf"><td class="memItemLeft" align="right" valign="top">RobotCommApi bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a8c49df63f38df75b180e61ec945482cf">CRobotComm::getModbusTcpClientVisionConnectStatus</a> ()</td></tr>
<tr class="memdesc:a8c49df63f38df75b180e61ec945482cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取ModbusTCP视觉客户端通讯连接状态。用户级函数接口  <a href="robot__comm__interface_8h.html#a8c49df63f38df75b180e61ec945482cf">更多...</a><br /></td></tr>
<tr class="separator:a8c49df63f38df75b180e61ec945482cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae9bc6a033f9fbc752203b1e3690841f"><td class="memItemLeft" align="right" valign="top">RobotCommApi bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#aae9bc6a033f9fbc752203b1e3690841f">CRobotComm::addModbusTcpClientCmdEx</a> (<a class="el" href="struct_s_modbus_tcp_client_cmd_ex.html">SModbusTcpClientCmdEx</a> *cmd)</td></tr>
<tr class="memdesc:aae9bc6a033f9fbc752203b1e3690841f"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置ModbusTCP视觉客户端辅助通讯命令。用户级函数接口  <a href="robot__comm__interface_8h.html#aae9bc6a033f9fbc752203b1e3690841f">更多...</a><br /></td></tr>
<tr class="separator:aae9bc6a033f9fbc752203b1e3690841f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefb2b2c05530c9987c437d325e1793a0"><td class="memItemLeft" align="right" valign="top">RobotCommApi HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#aefb2b2c05530c9987c437d325e1793a0">CRobotComm::addTcpClient</a> (<a class="el" href="struct_s_tcp_server_info.html">STcpServerInfo</a> *info_=NULL)</td></tr>
<tr class="memdesc:aefb2b2c05530c9987c437d325e1793a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">添加TCP客户端连接，返回客户端句柄。用户级函数接口  <a href="robot__comm__interface_8h.html#aefb2b2c05530c9987c437d325e1793a0">更多...</a><br /></td></tr>
<tr class="separator:aefb2b2c05530c9987c437d325e1793a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af39db568f4a30014b971d04ba3fc908d"><td class="memItemLeft" align="right" valign="top">RobotCommApi bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#af39db568f4a30014b971d04ba3fc908d">CRobotComm::removeTcpClient</a> (HANDLE handle_=NULL)</td></tr>
<tr class="memdesc:af39db568f4a30014b971d04ba3fc908d"><td class="mdescLeft">&#160;</td><td class="mdescRight">移除TCP客户端。用户级函数接口  <a href="robot__comm__interface_8h.html#af39db568f4a30014b971d04ba3fc908d">更多...</a><br /></td></tr>
<tr class="separator:af39db568f4a30014b971d04ba3fc908d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afed0b78b289adcf7cebefb1cb559dbed"><td class="memItemLeft" align="right" valign="top">RobotCommApi bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#afed0b78b289adcf7cebefb1cb559dbed">CRobotComm::getTcpClientStatus</a> (HANDLE handle_=NULL, <a class="el" href="struct_s_tcp_client_status.html">STcpClientStatus</a> *status_=NULL)</td></tr>
<tr class="memdesc:afed0b78b289adcf7cebefb1cb559dbed"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取TCP客户端当前状态。用户级函数接口  <a href="robot__comm__interface_8h.html#afed0b78b289adcf7cebefb1cb559dbed">更多...</a><br /></td></tr>
<tr class="separator:afed0b78b289adcf7cebefb1cb559dbed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5fba62a4d591a36adbe9a75947f5981"><td class="memItemLeft" align="right" valign="top">RobotCommApi int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#ae5fba62a4d591a36adbe9a75947f5981">CRobotComm::connectToServer</a> (HANDLE handle_=NULL)</td></tr>
<tr class="memdesc:ae5fba62a4d591a36adbe9a75947f5981"><td class="mdescLeft">&#160;</td><td class="mdescRight">连接服务端。用户级函数接口  <a href="robot__comm__interface_8h.html#ae5fba62a4d591a36adbe9a75947f5981">更多...</a><br /></td></tr>
<tr class="separator:ae5fba62a4d591a36adbe9a75947f5981"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a626dea63a14bfe15664b3656bec501"><td class="memItemLeft" align="right" valign="top">RobotCommApi int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a7a626dea63a14bfe15664b3656bec501">CRobotComm::disConnectToServer</a> (HANDLE handle_=NULL)</td></tr>
<tr class="memdesc:a7a626dea63a14bfe15664b3656bec501"><td class="mdescLeft">&#160;</td><td class="mdescRight">断开连接。用户级函数接口  <a href="robot__comm__interface_8h.html#a7a626dea63a14bfe15664b3656bec501">更多...</a><br /></td></tr>
<tr class="separator:a7a626dea63a14bfe15664b3656bec501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af427cac6d40e767c2437bccd30019104"><td class="memItemLeft" align="right" valign="top">RobotCommApi int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#af427cac6d40e767c2437bccd30019104">CRobotComm::sendData</a> (HANDLE handle_=NULL, char *data_=NULL, int data_len=0)</td></tr>
<tr class="memdesc:af427cac6d40e767c2437bccd30019104"><td class="mdescLeft">&#160;</td><td class="mdescRight">发送数据。用户级函数接口  <a href="robot__comm__interface_8h.html#af427cac6d40e767c2437bccd30019104">更多...</a><br /></td></tr>
<tr class="separator:af427cac6d40e767c2437bccd30019104"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5955fd37b220aa1ea47e385efcf9c0ba"><td class="memItemLeft" align="right" valign="top">RobotCommApi int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robot__comm__interface_8h.html#a5955fd37b220aa1ea47e385efcf9c0ba">CRobotComm::readData</a> (HANDLE handle_=NULL, char *data_=NULL)</td></tr>
<tr class="memdesc:a5955fd37b220aa1ea47e385efcf9c0ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">发送数据。用户级函数接口  <a href="robot__comm__interface_8h.html#a5955fd37b220aa1ea47e385efcf9c0ba">更多...</a><br /></td></tr>
<tr class="separator:a5955fd37b220aa1ea47e385efcf9c0ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>机器人系统通讯库 </p>
<dl class="section author"><dt>作者</dt><dd>张 <a href="#" onclick="location.href='mai'+'lto:'+'zha'+'ng'+'.zb'+'@g'+'oog'+'ol'+'tec'+'h.'+'com'; return false;">zhang<span style="display: none;">.nosp@m.</span>.zb@<span style="display: none;">.nosp@m.</span>googo<span style="display: none;">.nosp@m.</span>ltec<span style="display: none;">.nosp@m.</span>h.com</a> </dd></dl>
<dl class="section version"><dt>版本</dt><dd>v1.0.0 </dd></dl>
<dl class="section date"><dt>日期</dt><dd>2020-10-12 </dd></dl>
</div><h2 class="groupheader">函数说明</h2>
<a id="af9532dbf62e10baf568be15c5a74aa50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9532dbf62e10baf568be15c5a74aa50">&#9670;&nbsp;</a></span>deleteInstance()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi void CRobotComm::deleteInstance </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>删除整个通讯模块类。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>需系统软件退出前调用,用于释放通讯库相关资源 <br  />
 </dd></dl>

</div>
</div>
<a id="ac98f7db0ad1637f25d76fc0249fe7fb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac98f7db0ad1637f25d76fc0249fe7fb1">&#9670;&nbsp;</a></span>setModbusTcpClientInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi void CRobotComm::setModbusTcpClientInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_s_modbus_tcp_client_info.html">SModbusTcpClientInfo</a> *&#160;</td>
          <td class="paramname"><em>info</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>设置ModbusTCP客户端通讯配置参数。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;SModbusTcpClientInfo</td><td>*info&gt;ModbusTcp客户端连接配置参数指针 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>设置通讯相关参数、开启关闭通讯都通过这个接口实现 </dd></dl>

</div>
</div>
<a id="aabfdeb16d3f8512f2e25903874fcf9a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabfdeb16d3f8512f2e25903874fcf9a7">&#9670;&nbsp;</a></span>getModbusTcpClientInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi <a class="el" href="struct_s_modbus_tcp_client_info.html">SModbusTcpClientInfo</a>* CRobotComm::getModbusTcpClientInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>读取ModbusTCP客户端通讯配置参数。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>返回当前使用的ModbusTcp客户端连接配置参数指针 </dd></dl>

</div>
</div>
<a id="ae70eeac3a74579832eadea907e1bd847"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae70eeac3a74579832eadea907e1bd847">&#9670;&nbsp;</a></span>loopModbusTcpClient()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi void CRobotComm::loopModbusTcpClient </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ModbusTCP客户端通讯任务循环实现接口。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>需要被PLC线程周期调用。如果PLC线程没有正常运行，无法通讯。 </dd></dl>

</div>
</div>
<a id="a6da480e2d3e9032b5d39781a75004177"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6da480e2d3e9032b5d39781a75004177">&#9670;&nbsp;</a></span>getModbusTcpClientConnectStatus()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi bool CRobotComm::getModbusTcpClientConnectStatus </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取ModbusTCP客户端通讯连接状态。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 <br  />
 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;false&gt;:非连接状态 </dd>
<dd>
&lt;true&gt;:连接状态 </dd></dl>

</div>
</div>
<a id="ae15c861ad828babb27ae9e558046c48b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae15c861ad828babb27ae9e558046c48b">&#9670;&nbsp;</a></span>setModbusTcpServerInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi void CRobotComm::setModbusTcpServerInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_s_modbus_tcp_server_info.html">SModbusTcpServerInfo</a> *&#160;</td>
          <td class="paramname"><em>info</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>设置ModbusTCP服务端通讯配置参数。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;SModbusTcpServerInfo</td><td>*info&gt;ModbusTcp服务端连接配置参数指针 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>设置通讯相关参数、开启关闭通讯都通过这个接口实现 </dd></dl>

</div>
</div>
<a id="a6fa2a9e34466a7e729613f6107a57b0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fa2a9e34466a7e729613f6107a57b0d">&#9670;&nbsp;</a></span>getModbusTcpServerInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi <a class="el" href="struct_s_modbus_tcp_server_info.html">SModbusTcpServerInfo</a>* CRobotComm::getModbusTcpServerInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取ModbusTCP服务端通讯配置参数。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>返回当前使用的ModbusTcp服务端连接配置参数指针 </dd></dl>

</div>
</div>
<a id="a5c106f93b5a5fb5d6bd7e848907fa0e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c106f93b5a5fb5d6bd7e848907fa0e6">&#9670;&nbsp;</a></span>loopModbusTcpServer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi void CRobotComm::loopModbusTcpServer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ModbusTCP服务端通讯任务循环实现接口。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>需要被PLC线程周期调用。如果PLC线程没有正常运行，无法通讯。 </dd></dl>

</div>
</div>
<a id="ade304ab0ca1e2662fff6da59c2e6e1dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade304ab0ca1e2662fff6da59c2e6e1dc">&#9670;&nbsp;</a></span>getModbusTcpServerConnectList()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommCpp vector&lt;<a class="el" href="struct_s_tcp_connect_client_info.html">STcpConnectClientInfo</a>&gt; CRobotComm::getModbusTcpServerConnectList </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取ModbusTCP服务端远端连接列表。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>返回所有连接的客户端列表信息，包含IP和端口 </dd></dl>

</div>
</div>
<a id="a550b012e6c397317769518e231304806"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a550b012e6c397317769518e231304806">&#9670;&nbsp;</a></span>setModbusTcpServerNormalInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi void CRobotComm::setModbusTcpServerNormalInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_s_modbus_tcp_server_normal_info.html">SModbusTcpServerNormalInfo</a> *&#160;</td>
          <td class="paramname"><em>info</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>设置ModbusTCP通用服务端通讯配置参数。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;SModbusTcpServerNormalInfo</td><td>*info&gt;ModbusTcp通用服务端连接配置参数指针 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>设置通讯相关参数、开启关闭通讯都通过这个接口实现 </dd></dl>

</div>
</div>
<a id="a691f0c83b0bc321ea61f3940416a1830"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a691f0c83b0bc321ea61f3940416a1830">&#9670;&nbsp;</a></span>getModbusTcpServerNormalInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi <a class="el" href="struct_s_modbus_tcp_server_normal_info.html">SModbusTcpServerNormalInfo</a>* CRobotComm::getModbusTcpServerNormalInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取ModbusTCP通用服务端通讯配置参数。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>返回当前使用的ModbusTcp服务端连接配置参数指针 </dd></dl>

</div>
</div>
<a id="aac1dc2b60190bbe9e13699f731fc137d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac1dc2b60190bbe9e13699f731fc137d">&#9670;&nbsp;</a></span>getModbusTcpServerNormalConnectList()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommCpp vector&lt;<a class="el" href="struct_s_tcp_connect_client_info.html">STcpConnectClientInfo</a>&gt; CRobotComm::getModbusTcpServerNormalConnectList </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取ModbusTCP通用服务端远端连接列表。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>返回所有连接的客户端列表信息，包含IP和端口 </dd></dl>

</div>
</div>
<a id="ad02da5c3852943f6aea5820c59224a78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad02da5c3852943f6aea5820c59224a78">&#9670;&nbsp;</a></span>setUserTcpServerInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi void CRobotComm::setUserTcpServerInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_s_user_tcp_server_info.html">SUserTcpServerInfo</a> *&#160;</td>
          <td class="paramname"><em>info</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>设置远程TCP服务端通讯配置参数。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;SUserTcpServerInfo</td><td>*info&gt;包含本地IP地址、端口等信息 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>远程TCP协议，机器人系统作为TCP服务端，需要设置本地的IP地址和端口。启停也通过此接口实现。 </dd></dl>

</div>
</div>
<a id="a31418e742f17464db5181de9e7e08f54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31418e742f17464db5181de9e7e08f54">&#9670;&nbsp;</a></span>getUserTcpServerInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi <a class="el" href="struct_s_user_tcp_server_info.html">SUserTcpServerInfo</a>* CRobotComm::getUserTcpServerInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取远程TCP协议服务端通讯配置参数。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>返回当前使用的自定义TCP服务端连接配置参数指针 </dd></dl>

</div>
</div>
<a id="a9e247da871f9521c2e12086a324061fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e247da871f9521c2e12086a324061fe">&#9670;&nbsp;</a></span>loopUserTcpServer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi void CRobotComm::loopUserTcpServer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>远程TCP协议,机器人服务端通讯循环实现接口。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>需要被PLC线程周期调用。如果PLC线程没有正常运行，无法通讯。 </dd></dl>

</div>
</div>
<a id="a44df6930b7d216e184f524822defaf40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44df6930b7d216e184f524822defaf40">&#9670;&nbsp;</a></span>getUserTcpServerConnectList()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommCpp vector&lt;<a class="el" href="struct_s_tcp_connect_client_info.html">STcpConnectClientInfo</a>&gt; CRobotComm::getUserTcpServerConnectList </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取远程TCP服务端远端连接列表。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>返回所有连接的客户端列表信息，包含IP和端口 </dd></dl>

</div>
</div>
<a id="a42473c1b80e37fe449b5dded683ac151"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42473c1b80e37fe449b5dded683ac151">&#9670;&nbsp;</a></span>setRemoteTcpResponseCallback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi bool CRobotComm::setRemoteTcpResponseCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="comm__struct__define_8h.html#a916a87c0a09ac663fcc24844391e40ae">RemoteTcpResponseCallback</a>&#160;</td>
          <td class="paramname"><em>pFunc</em> = <code>NULL</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>设置远程TCP数据应答函数指针。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">应答函数指针</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 <br  />
 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;false&gt;:设置失败 </dd>
<dd>
&lt;true&gt;:设置成功 </dd></dl>

</div>
</div>
<a id="a0ae5c09c34691ccaa6a695f15aaeac6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ae5c09c34691ccaa6a695f15aaeac6d">&#9670;&nbsp;</a></span>getRemoteTcpResponseCallback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi <a class="el" href="comm__struct__define_8h.html#a916a87c0a09ac663fcc24844391e40ae">RemoteTcpResponseCallback</a> CRobotComm::getRemoteTcpResponseCallback </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取远程TCP数据应答函数指针。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 <br  />
 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>应答函数指针 </dd></dl>

</div>
</div>
<a id="a93f63e939622d297dcb380600519870e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93f63e939622d297dcb380600519870e">&#9670;&nbsp;</a></span>setGibbonTrig()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi bool CRobotComm::setGibbonTrig </td>
          <td>(</td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>enb</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="comm__struct__define_8h.html#a921819d0a0cc8071ee2efca0e982eaa0">GibbonResponseCallback</a>&#160;</td>
          <td class="paramname"><em>pFunc</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>设置Gibbon触发使能变量指针和通讯数据生成函数指针。系统级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">使能触发变量指针</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">输出生成函数指针</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 <br  />
 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;false&gt;:设置失败 </dd>
<dd>
&lt;true&gt;:设置成功 </dd></dl>

</div>
</div>
<a id="abc331eaf1a4a1986d1ff642a6a86b179"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc331eaf1a4a1986d1ff642a6a86b179">&#9670;&nbsp;</a></span>setModbusTcpClientVisionInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi void CRobotComm::setModbusTcpClientVisionInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_s_modbus_tcp_client_info.html">SModbusTcpClientInfo</a> *&#160;</td>
          <td class="paramname"><em>info</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>设设置ModbusTCP视觉客户端通讯配置参数。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;SModbusTcpClientInfo</td><td>*info&gt;ModbusTcp客户端连接配置参数指针 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>设置通讯相关参数、开启关闭通讯都通过这个接口实现 </dd></dl>

</div>
</div>
<a id="acc09e664f99015629d75b11310ed39d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc09e664f99015629d75b11310ed39d4">&#9670;&nbsp;</a></span>getModbusTcpClientVisionInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi <a class="el" href="struct_s_modbus_tcp_client_info.html">SModbusTcpClientInfo</a>* CRobotComm::getModbusTcpClientVisionInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>读取ModbusTCP视觉客户端通讯配置参数。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>返回当前使用的ModbusTcp客户端连接配置参数指针 </dd></dl>

</div>
</div>
<a id="a8c49df63f38df75b180e61ec945482cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c49df63f38df75b180e61ec945482cf">&#9670;&nbsp;</a></span>getModbusTcpClientVisionConnectStatus()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi bool CRobotComm::getModbusTcpClientVisionConnectStatus </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取ModbusTCP视觉客户端通讯连接状态。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">无</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>无 <br  />
 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;false&gt;:非连接状态 </dd>
<dd>
&lt;true&gt;:连接状态 </dd></dl>

</div>
</div>
<a id="aae9bc6a033f9fbc752203b1e3690841f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae9bc6a033f9fbc752203b1e3690841f">&#9670;&nbsp;</a></span>addModbusTcpClientCmdEx()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi bool CRobotComm::addModbusTcpClientCmdEx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_s_modbus_tcp_client_cmd_ex.html">SModbusTcpClientCmdEx</a> *&#160;</td>
          <td class="paramname"><em>cmd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>设置ModbusTCP视觉客户端辅助通讯命令。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;SModbusTcpClientCmdEx</td><td>*cmd&gt;通讯命令数据的指针 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>添加额外的通讯请求一次，通过传入的结构体内部数据返回值，判断辅助通讯命令是否执行完成。当执行完成后才可以进行下一次辅助通讯。 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;false&gt;:添加失败 </dd>
<dd>
&lt;true&gt;:添加成功 </dd></dl>

</div>
</div>
<a id="aefb2b2c05530c9987c437d325e1793a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefb2b2c05530c9987c437d325e1793a0">&#9670;&nbsp;</a></span>addTcpClient()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi HANDLE CRobotComm::addTcpClient </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_s_tcp_server_info.html">STcpServerInfo</a> *&#160;</td>
          <td class="paramname"><em>info_</em> = <code>NULL</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>添加TCP客户端连接，返回客户端句柄。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;STcpServerInfo</td><td>*info_&gt;远端IP地址和端口 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>通讯的所有操作都通过句柄完成。 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;NULL&gt;:添加失败 </dd>
<dd>
&lt;其他&gt;:句柄值 </dd></dl>

</div>
</div>
<a id="af39db568f4a30014b971d04ba3fc908d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af39db568f4a30014b971d04ba3fc908d">&#9670;&nbsp;</a></span>removeTcpClient()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi bool CRobotComm::removeTcpClient </td>
          <td>(</td>
          <td class="paramtype">HANDLE&#160;</td>
          <td class="paramname"><em>handle_</em> = <code>NULL</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>移除TCP客户端。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;HANDLE</td><td>handle_&gt;TCP客户端的句柄 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>移除TCP客户端后不再通讯。 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;false&gt;:移除失败，输入的句柄错误 </dd>
<dd>
&lt;true&gt;:移除成功 </dd></dl>

</div>
</div>
<a id="afed0b78b289adcf7cebefb1cb559dbed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afed0b78b289adcf7cebefb1cb559dbed">&#9670;&nbsp;</a></span>getTcpClientStatus()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi bool CRobotComm::getTcpClientStatus </td>
          <td>(</td>
          <td class="paramtype">HANDLE&#160;</td>
          <td class="paramname"><em>handle_</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_s_tcp_client_status.html">STcpClientStatus</a> *&#160;</td>
          <td class="paramname"><em>status_</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取TCP客户端当前状态。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;HANDLE</td><td>handle_&gt;TCP客户端的句柄 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">&lt;STcpClientStatus</td><td>*status_&gt;TCP客户端的连接状态结构体指针 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>每次操作TCP通讯前调用，用于确定当前通讯连接的状态。 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;false&gt;:获取失败，输入的句柄错误 </dd>
<dd>
&lt;true&gt;:获取成功 </dd></dl>

</div>
</div>
<a id="ae5fba62a4d591a36adbe9a75947f5981"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5fba62a4d591a36adbe9a75947f5981">&#9670;&nbsp;</a></span>connectToServer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi int CRobotComm::connectToServer </td>
          <td>(</td>
          <td class="paramtype">HANDLE&#160;</td>
          <td class="paramname"><em>handle_</em> = <code>NULL</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>连接服务端。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;HANDLE</td><td>handle_&gt;TCP客户端的句柄 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>异步操作，连接指令执行后，通过客户端当前状态判断是否连接成功。 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;-1&gt;:参数错误，句柄不存在 </dd>
<dd>
&lt;0&gt;:连接指令发送成功 </dd></dl>

</div>
</div>
<a id="a7a626dea63a14bfe15664b3656bec501"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a626dea63a14bfe15664b3656bec501">&#9670;&nbsp;</a></span>disConnectToServer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi int CRobotComm::disConnectToServer </td>
          <td>(</td>
          <td class="paramtype">HANDLE&#160;</td>
          <td class="paramname"><em>handle_</em> = <code>NULL</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>断开连接。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;HANDLE</td><td>handle_&gt;TCP客户端的句柄 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>异步操作，断开连接指令执行后，通过客户端当前状态判断是否成功断开连接。 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;-1&gt;:参数错误，句柄不存在 </dd>
<dd>
&lt;0&gt;:断开连接指令发送成功 </dd></dl>

</div>
</div>
<a id="af427cac6d40e767c2437bccd30019104"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af427cac6d40e767c2437bccd30019104">&#9670;&nbsp;</a></span>sendData()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi int CRobotComm::sendData </td>
          <td>(</td>
          <td class="paramtype">HANDLE&#160;</td>
          <td class="paramname"><em>handle_</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>data_</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>data_len</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>发送数据。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;HANDLE</td><td>handle_&gt;TCP客户端的句柄 </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;char</td><td>*data_&gt;发送数据的指针 </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;int</td><td>data_len&gt;发送数据的字节数 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>异步操作，通讯线程后台执行。 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;-1&gt;:参数错误，句柄不存在 </dd>
<dd>
&lt;0&gt;:发送成功 </dd></dl>

</div>
</div>
<a id="a5955fd37b220aa1ea47e385efcf9c0ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5955fd37b220aa1ea47e385efcf9c0ba">&#9670;&nbsp;</a></span>readData()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RobotCommApi int CRobotComm::readData </td>
          <td>(</td>
          <td class="paramtype">HANDLE&#160;</td>
          <td class="paramname"><em>handle_</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>data_</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>发送数据。用户级函数接口 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;HANDLE</td><td>handle_&gt;TCP客户端的句柄 </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">&lt;char</td><td>*data_&gt;接收数据的指针 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">无</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>通过客户端状态的allow_read变量，确定是否有数据可读。内部有数据池，一次可读取一条，当所有数据读取完成后，数据池清空，allow_read状态复位。 </dd></dl>
<dl class="section return"><dt>返回</dt><dd>&lt;-1&gt;:参数错误，句柄不存在 </dd>
<dd>
&lt;其他&gt;:接收到的数据字节数 </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
